/**
 * 消息提示工具函数
 * 创建时间：2025-09-11
 * 作者：开发团队
 * 目的：封装ElMessage，解决TypeScript严格模式下的类型兼容性问题
 */

import { ElMessage } from 'element-plus'

/**
 * 消息类型枚举
 */
export type MessageType = 'success' | 'warning' | 'info' | 'error'

/**
 * 显示消息提示
 * :param message: 消息内容
 * :param type: 消息类型
 */
export const showMessage = (message: string, type: MessageType = 'info'): void => {
  // 使用类型断言来绕过Element Plus的复杂类型检查
  ElMessage({
    message: message,
    type: type as 'success' | 'warning' | 'info' | 'error'
  } as any)
}

/**
 * 显示成功消息
 * :param message: 消息内容
 */
export const showSuccess = (message: string): void => {
  showMessage(message, 'success')
}

/**
 * 显示错误消息
 * :param message: 消息内容
 */
export const showError = (message: string): void => {
  showMessage(message, 'error')
}

/**
 * 显示警告消息
 * :param message: 消息内容
 */
export const showWarning = (message: string): void => {
  showMessage(message, 'warning')
}

/**
 * 显示信息消息
 * :param message: 消息内容
 */
export const showInfo = (message: string): void => {
  showMessage(message, 'info')
}